package com.situ.mall.pojo.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author Gao
 * @since 2025-10-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Orders implements Serializable {


    /**
     * 订单号
     */
    @TableId(value = "order_no", type = IdType.ASSIGN_ID)
    private Long orderNo;

    /**
     * 用户id
     */
    @TableField("user_id")
    private Integer userId;

    @TableField("shipping_id")
    private Integer shippingId;

    /**
     * 实际付款金额,单位是元,保留两位小数
     */
    private BigDecimal payment;

    /**
     * 0:货到付款 1：微信 2：支付宝 3：银联
     */
    @TableField("payment_type")
    private Integer paymentType;

    /**
     * 运费,单位是元
     */
    private Integer postage;

    /**
     * 支付时间
     */
    @TableField("payment_time")
    private Date paymentTime;

    /**
     * 发货时间
     */
    @TableField("send_time")
    private Date sendTime;

    /**
     * 交易完成时间
     */
    @TableField("end_time")
    private Date endTime;

    /**
     * 交易关闭时间
     */
    @TableField("close_time")
    private Date closeTime;

    /**
     * 订单状态:0-已取消-1-未付款，2-已付款，3-已发货，4-交易成功，5-交易关闭
     */
    private Integer status;

    /**
     * 逻辑删除 1 表示删除，0 表示未删除
     */
    @TableLogic
    private Integer deleted;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


}
